package com.airS.task.fileMgr.service.gk;

import com.airS.task.fileMgr.common.page.Page;
import com.airS.task.fileMgr.model.gk.Employee;
import com.airS.task.fileMgr.query.gk.EmployeeQuery;

import java.util.List;
import java.util.Map;

/**
 * 人员管理服务
 * Created by alan on 2017/3/14.
 */
public interface EmployeeService {

    /**
     * 按实例ID查询
     * @param id
     * @return
     */
    Employee queryEmployeeById(Integer id);

    /**
     * 按条件分页查询
     * @param query
     * @return
     */
    Page<Employee> queryEmployees(EmployeeQuery query);

    /**
     * 所有人员
     * @return
     */
    Map<Integer, Employee> getAllEmployeeToMap();

    /**
     * 所有人员
     * @return
     */
    List<Employee> getAllEmployeeToList();

    /**
     * 人员新增
     * @param employee
     * @return
     */
    Integer addEmployee(Employee employee);

    /**
     * 人员修改
     * @param employee
     * @return
     */
    Integer updateEmployeeById(Employee employee);

    /**
     * 按实例ID物理删除
     * @param id
     * @return
     */
    Integer delEmployeeById(Integer id);

    /**
     * 按实例ID物理删除
     * @param ids
     * @return
     */
    Integer delEmployeeByIds(List<Integer> ids);
}
